export default {
  // 服务器端口
  port: Number(process.env.PORT) || 3000,
  // 数据库配置
  database: {
    type: 'mysql', // 数据库类型
    host: process.env.DB_HOST || 'localhost', // 数据库主机
    port: process.env.DB_PORT || 3306, // 数据库端口
    username: process.env.DB_USERNAME || 'root', // 数据库用户名
    password: process.env.DB_PASSWORD || 'password', // 数据库密码
    database: process.env.DB_NAME || 'your_production_db_name', // 数据库名称
    entities: ['dist/**/*.entity{.ts,.js}'], // 实体文件路径
    synchronize: false, // 自动同步数据库 schema（警告：在生产环境中禁用）
    logging: false, // 开启数据库日志记录
    migrations: ['dist/migrations/**/*.js'], // 迁移文件路径
    cli: {
      migrationsDir: 'src/migrations', // 迁移文件目录
    },
  },
  // JWT配置
  jwt: {
    secret: process.env.JWT_SECRET || 'your_production_jwt_secret', // JWT 密钥
    accessTokenExpiresIn: process.env.ACCESS_TOKEN_EXPIRES_IN || '15m', // 访问令牌过期时间
    refreshTokenExpiresIn: process.env.REFRESH_TOKEN_EXPIRES_IN || '7d', // 刷新令牌过期时间
    maxLoginAttempts: Number(process.env.MAX_LOGIN_ATTEMPTS) || 5, // 最大登录失败次数
    loginLockTime: Number(process.env.LOGIN_LOCK_TIME) || 15, // 登录失败锁定时间（分钟）
  },
  // 文件上传配置
  fileUpload: {
    maxSize: Number(process.env.MAX_FILE_SIZE) || 20 * 1024 * 1024, // 20MB 最大文件大小
    allowedExtensions: process.env.ALLOWED_EXTENSIONS?.split(',') || ['.zip'], // 允许的文件扩展名
  },
}
